package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.common.api.BusinessApi;
import com.common.core.domain.AjaxResult;
import com.project.domain.bo.AllAlterationInfoBo;
import com.project.domain.bo.AlterationBo;
import com.project.domain.entity.BizProjectAlteration;
import com.project.domain.vo.AllAlterationInfoVo;
import com.project.domain.vo.NavigationForProVo;

import java.util.List;

public interface IBizProjectAlterationService extends BusinessApi {

    /**
     * 左上角根据状态的数量统计
     * @param alterationBo
     * @return
     */
    List<NavigationForProVo.NameAndCount> selectGroups(AlterationBo alterationBo);

    /**
     * 查询项目变更列
     *
     * @param ID 项目变更主键
     * @return 项目变更列
     */
    AllAlterationInfoVo selectBizProjectAlterationByID(String ID);

    /**
     * 查询项目变更列表
     * @param alterationBo 项目变更
     * @param type 操作类型
     * @return 项目变更集合
     */
    IPage<BizProjectAlteration> selectBizProjectAlterationList(AlterationBo alterationBo, String type);



    /**
     * 保存项目变更
     * @param bizProjectAlterationBo 项目变更
     * @return 结果
     */
    AjaxResult saveBizProjectAlteration(AllAlterationInfoBo bizProjectAlterationBo);

    /**
     * 批量删除项目变更
     *
     * @param IDs 需要删除的项目变更主键集合
     * @return 结果
     */
    String deleteBizProjectAlterationByIDs(String[] IDs);

    /**
     * 删除项目变更信息
     *
     * @param ID 项目变更主键
     * @return 结果
     */
    String deleteBizProjectAlterationByID(String ID);
}
